home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-09-06 | 3.0 KB | 142 lines | [TEXT/CWIE] |
- // ModelessStuff.cp -- modeless dialog
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- #include <Lists.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include <Appearance.h>
-
- #include "ResourceDefs.h"
- #include "Miscellany.h"
- #include "ControlUtils.h"
-
- #include "ModelessStuff.h"
-
- #define kToolsPalette 1
- #define kPopupsBox 2
- #define kFromValuesList2Popup 3
- #define kFromMenuPopup 4
- #define kListsBox 5
- #define kTextListList 6
-
-
- //----------
- CModelessStuff* CModelessStuff::sDialog = nil;
-
- //----------
- // static
- CModelessStuff* CModelessStuff::Create ()
- {
- CModelessStuff* dialog = new CModelessStuff;
- DModelessStuffData* data = new DModelessStuffData;
-
- dialog->MakeDialog (DLOG_ModelessStuff);
- dialog->ConnectToData (data);
-
- return dialog;
- }
-
- //----------
- // static
- CModelessStuff* CModelessStuff::Show ()
- {
- if (sDialog == nil) {
- sDialog = CModelessStuff::Create ();
- }
- if (sDialog != nil) {
- ::SelectWindow (sDialog->mDialog);
- ::ShowWindow (sDialog->mDialog);
- }
- return sDialog;
- }
-
- //----------
- CModelessStuff::CModelessStuff ()
- {
- mData = nil;
- }
-
- //----------
- CModelessStuff::~CModelessStuff ()
- {
- sDialog = nil;
- }
-
- //----------
- void CModelessStuff::FinishMake ()
- {
- mToolsHandle = GetControlItem (kToolsPalette);
- mPopupsHandle = GetControlItem (kPopupsBox);
- mFromValuesList2Handle = GetControlItem (kFromValuesList2Popup);
- mFromMenuHandle = GetControlItem (kFromMenuPopup);
- mListsHandle = GetControlItem (kListsBox);
- mTextListHandle = GetControlItem (kTextListList);
- BuildTextListList (mTextListHandle);
- }
-
- //----------
- void CModelessStuff::ConnectToData (
- AMSignaler* inData)
- {
- AMDialog::ConnectToData (inData);
- mData = (DModelessStuffData*) inData;
-
- SetControlValue (mToolsHandle, mData->GetTools3 ());
- SetControlValue (mFromValuesList2Handle, mData->GetFromValuesList4 ());
- SetControlValue (mFromMenuHandle, mData->GetFromMenu3 ());
- SetListBoxChoice (mTextListHandle, mData->GetTextList3 ());
- }
-
- //----------
- void CModelessStuff::DataChanged (
- long inDataID)
- {
- if (inDataID == idTools3) {
- SetControlValue (mToolsHandle, mData->GetTools3 ());
- }
- if (inDataID == idFromValuesList4) {
- SetControlValue (mFromValuesList2Handle, mData->GetFromValuesList4 ());
- }
- if (inDataID == idFromMenu3) {
- SetControlValue (mFromMenuHandle, mData->GetFromMenu3 ());
- }
- }
-
- //----------
- void CModelessStuff::BuildTextListList (
- ControlHandle inControl)
- {
- ListHandle list = GetListHandle (inControl);
-
- AddToList ("\pOne", list);
- AddToList ("\pTwo", list);
- AddToList ("\pThree", list);
- AddToList ("\pInfinity", list);
- }
-
-
- //----------
- void CModelessStuff::DoItem (
- SInt16 inItemHit)
- {
- switch (inItemHit) {
- case kToolsPalette:
- mData->SetTools3 (GetControlValue (mToolsHandle));
- break;
- case kFromValuesList2Popup:
- mData->SetFromValuesList4 (GetControlValue (mFromValuesList2Handle));
- break;
- case kFromMenuPopup:
- mData->SetFromMenu3 (GetControlValue (mFromMenuHandle));
- break;
- case kTextListList:
- mData->SetTextList3 (GetListBoxChoice (mTextListHandle));
- break;
-
- } // switch
- }
-